package com.admin.system.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.admin.common.annotation.ExcelDictFormat;
import com.admin.common.convert.ExcelDictConvert;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 用户对象导入VO
 *
 * @author Lion Li
 */

@Data
@NoArgsConstructor
// @Accessors(chain = true) // 导入不允许使用 会找不到set方法
public class SysUserImportVo implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 用户ID
     */
    @ExcelProperty(value = "*用户编号(数字，需唯一)")
    @ColumnWidth(value = 25)
    private Long userId;

    /**
     * 部门ID
     */
    @ExcelProperty(value = "部门编号")
    @ColumnWidth(value = 25)
    private Long deptId;

    /**
     * 用户账号
     */
    @ExcelProperty(value = "*登录账号")
    @ColumnWidth(value = 20)
    private String userName;

    /**
     * 用户昵称
     */
    @ExcelProperty(value = "用户名称")
    @ColumnWidth(value = 20)
    private String nickName;

    /**
     * 用户邮箱
     */
    @ExcelProperty(value = "用户邮箱")
    @ColumnWidth(value = 20)
    private String email;

    /**
     * 手机号码
     */
    @ExcelProperty(value = "手机号码")
    @ColumnWidth(value = 20)
    private String phonenumber;

    /**
     * 用户性别
     */
    @ExcelProperty(value = "用户性别(男/女/未知)", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_user_sex")
    @ColumnWidth(value = 20)
    private String sex;

    /**
     * 是否启用
     */
    @ExcelProperty(value = "是否启用(是/否)")
    @ColumnWidth(value = 20)
    private String isEnabledDesc;

    @ExcelIgnore
    private Boolean isEnabled;

    public void setIsEnabledDesc (String desc) {
        if ("是".equals(desc)) {
            this.isEnabled = true;
        } else {
            this.isEnabled = false;
        }
    }

}
